Complex software applications and services are frequently made available to users over computer networks, such as the Internet. For example, software applications used to prepare and file income tax returns are frequently offered as an online service. In addition to generating tax return documents, these online services typically guide a user through a collection of complex interactive workflows in order to prepare a complete, valid income tax return. Further, in attempt to increase user satisfaction with the application, these services generally attempt to maximize the user's tax refund. For example, indicating that the user has a negative refund (i.e., the user owes money to the IRS) can lead to customer dissatisfaction with the online service and decrease customer retention.
Other online services allow users to access software applications used to prepare a variety of other legal and formal documents. For example, online services are available which direct a user through a guided interaction to generate estate planning documents, corporate entity documents, legal filings, etc. Still other complex software applications accessed as an online service include financial service applications which allow users to complete mortgage applications or apply for home, life, or automobile insurance.
In addition to these transactional online services, a variety of complex software tools offer users access to both online services and local client applications, e.g., financial accounting software, video editing or media composition software, software development tools, etc. Such applications may allow users to access application features and user data stored online, regardless of whether the application is installed locally by an end user or accessed as an online service. Once customer data is stored by a service provider, end users can access their data using a variety of clients, including a web browser used to access a software application as a series of web pages, dedicated “thin” client applications, and so-called “apps” accessed using a mobile telephone or computing tablet.
Further, some online services include voice recognition software that can process users' voice/speech. For example, users can interact with the online service with voice/speech to initiate services or processes in the online service, navigate application content provided by the online service, etc. In addition, online services can prompt users to provide feedback with voice/speech. The online services can convert the voice/speech to text (e.g., using natural language processing) to determine a level of user satisfaction with the online service based on the text content. In addition to text content, the online service can monitor users' interaction with the online service by tracking amount of time spent by the user with the service, number of clicks from the user, etc.